
using System;
using Unity.Mathematics;

namespace EarthGeospatial
{


    public class BoundingRegionWithLooseFittingHeights
    {
        private BoundingRegion Region;
        public BoundingRegionWithLooseFittingHeights(BoundingRegion region)
        {
            this.Region = region;
        }
        internal BoundingRegion getBoundingRegion()
        {
            return Region;
        }

        public static implicit operator bool(BoundingRegionWithLooseFittingHeights foo)
        {
            return foo == null ? false : true;
        }

        public double computeConservativeDistanceSquaredToPosition(double3 position, Ellipsoid ellipsoid)
        {
            return this.Region.computeDistanceSquaredToPosition(position, ellipsoid);
        }


        public double computeConservativeDistanceSquaredToPosition(Cartographic cartographicPosition, double3 cartesianPosition)
        {
            return this.Region.computeDistanceSquaredToPosition(cartographicPosition, cartesianPosition);
        }

        public double computeConservativeDistanceSquaredToPosition(double3 position)
        {
            return this.Region.computeDistanceSquaredToPosition(position);
        }
    }
}